package cn.acheng.cams.type.context;

import java.util.Map;

/**
 * 线程上下文对象，用于在拦截器获取到用户信息以后，将用户信息保存在当前线程(请求)中，方便后续使用
 */
public class ThreadContext {
    public static ThreadLocal<Map<String,Object>> threadLocal = new ThreadLocal<>();

    /**
     * 保存用户id到当前线程中
     * @param data
     */
    public static void setUserData(Map<String,Object> data) {
        threadLocal.set(data);
    }

    /**
     * 从当前线程当中取出用户id
     * @return
     */
    public static Map<String, Object> getUserData() {
        return threadLocal.get();
    }

    /**
     * 释放资源
     */
    public static void removeUserData() {
        threadLocal.remove();
    }
}
